package ejb.com.bbva.cbm.util.voucher;

import cbm.commons.UtilitarioFunciones;
import ejb.com.bbva.cbm.util.CacheDatos;
import ejb.com.bbva.cbm.util.Constante;

public class DatosVoucherDepositoEfectivo extends DatosVoucher {
	private String numeroCuenta;
	private String nombreTitular;
	private String divisa;
	private String moneda;
	private String importe;
	private String observacion;
	
	public DatosVoucherDepositoEfectivo(){
		super(56, 0);
	}
	
	public String getNumeroCuenta() {
		return numeroCuenta;
	}

	public void setNumeroCuenta(String numeroCuenta) {
		this.numeroCuenta = numeroCuenta;
	}

	public String getNombreTitular() {
		return nombreTitular;
	}

	public void setNombreTitular(String nombreTitular) {
		this.nombreTitular = nombreTitular;
	}

	public String getDivisa() {
		return divisa;
	}

	public void setDivisa(String divisa) {
		this.divisa = divisa;
	}

	public String getMoneda() {
		return moneda;
	}

	public void setMoneda(String moneda) {
		this.moneda = moneda;
	}

	public String getImporte() {
		return importe;
	}

	public void setImporte(String importe) {
		this.importe = importe;
	}

	@Override
	public String generarCadenaImpresion() {
		
		StringBuilder impresionTexto = new StringBuilder();
		impresionTexto.append(UtilitarioFunciones.formatStringCENTER("--- DEPOSITO EN EFECTIVO ---", 43, ' ')).append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.formatStringLEFT("FECHA", 6, ' ')).append(": ").
		append(UtilitarioFunciones.formatearFecha(UtilitarioFunciones.obtenerFechaActual(),"dd-MM-yyyy")).
		append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.formatStringLEFT("CTA..", 6, ' ')).append(": ").
			append(UtilitarioFunciones.formatStringLEFT(this.numeroCuenta,20,' ')).append(" DIV: ").append(this.divisa).
			append(UtilitarioFunciones.SALTO_DE_LINEA);;
		
		impresionTexto.append(UtilitarioFunciones.formatStringLEFT("TIT..", 6, ' ')).append(": ").
			append(UtilitarioFunciones.formatStringLEFT(this.nombreTitular,50,' ')).
			append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		if(observacion!=null){
			impresionTexto.append("REF.. "+observacion);
		}else{
			impresionTexto.append("REF.. DEPOSITO EN EFECTIVO");
		}
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append("IMPORTE............:").append("   "+CacheDatos.getInstance().getDescripcionParametroPorId(Constante.TIPO_DIVISA_SIMBOLO_CU, this.moneda)).append("   "+UtilitarioFunciones.formatearMontoNumerico(this.importe)).append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
				
		String glosa = generarGlosaOperacion();
		if(glosa != null && !glosa.trim().equals("")) {
			impresionTexto.append("GLOSA: ").append(glosa).append(UtilitarioFunciones.SALTO_DE_LINEA);
		}
		impresionTexto.append("CLAVE: ").append(generarClaveOperacion()).append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append((UtilitarioFunciones.formatStringCENTER(oficinaNombre, 43, ' ')));
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.getFinalPagina());
		return impresionTexto.toString();
	}

	public String getObservacion() {
		return observacion;
	}

	public void setObservacion(String observacion) {
		this.observacion = observacion;
	}
}
